System and method for communicating using an in-vehicle system

ABSTRACT

A system and method for communicating wirelessly from a mobile device to a remote receiver station is disclosed. The system includes a controller configured to monitor a status of the mobile device and, upon an initiation event, initiate a data transfer process to wirelessly communicate data to the remote receiver station. The system also includes a voice-band modem that, upon initiation of the data transfer process. The voice-band modem is configured to receive data for transfer to the remote receiver station, encode the data to form a series of encoded packets, and transmit the encoded packets to the remote receiver station using a first modulation scheme. Thereafter, unless an indication that the series of packets has been received by at the receiving station is provided, the voice-band modem automatically retransmit the encoded packets to the remote receiver station using a second modulation scheme.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on, incorporates herein by reference, andclaims the benefit of U.S. Provisional Application Ser. No. 61/087,997,filed on Aug. 11, 2008, and entitled, “SYSTEM AND METHOD COMMUNICATINGUSING AN IN-VEHICLE SYSTEM.”

FIELD OF THE INVENTION

This invention relates generally to systems and methods for datacommunication and, more particularly, to a system and method forenabling optimal transmission of data from one device to another byusing a trigger signal that includes a pattern of modulation schemesthat can be used by the receiving device to determine which scheme touse to transmit information to the other device.

BACKGROUND OF THE INVENTION

Increasingly, vehicles (e.g., automobiles, trucks, boats, and the like)include integrated communications systems and/or systems forcommunicating with or controlling non-integrated communications systems.For example, many vehicles include systems to access and communicate viacellular or satellite communications. Additionally or alternatively,many vehicles include local area communications systems, such asBluetooth communications devices, that are capable of accessingcellular, wireless local area networks (WLANs) or satellitecommunications devices. Bluetooth is a registered trademark of BluetoothSIG, Inc., of Delaware.

These communications systems are typically designed to be controlled bya user to facilitate voice communications using external communicationnetworks. Hence, the modems included within these vehicle-integratedsystems are typically “voice” modems. Voice modems are relatively“slower” modems when compared with data-specific modems for severalreasons. First, the relative amount of data required to facilitate voicecommunications is significantly less than required for contemporary datacommunications. Second, voice modem signals have to go through a speechencoding/decoding process which requires some time to perform.

While these systems are specifically used for transmitting voicesignals, in many applications it is desirable to utilize thesevehicle-integrated communications systems to communicate a wider varietyof data. This data may include information about an associated vehicle(e.g., make, model, year, color, maintenance record, and the like),information about the passengers or cargo in the vehicle, (e.g., name,medical history, age, gender, and the like) information related to anemergency condition associated with the vehicle, and other information.

It would be desirable to have a system and method for communicating datausing communications systems that are integrated within vehicles wherethe system is highly robust, yet capable of communicating the data veryrapidly.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will hereafter be described with reference to theaccompanying drawings, wherein like reference numerals denote likeelements, and:

FIG. 1 is a block diagram of a communications system illustrating somecommon components of a vehicle-integrated communication device that isdesigned to communicate within a wireless communication network;

FIG. 2 is a flow chart setting forth the steps of a method ofcommunicating data using the communications system of FIG. 1;

FIG. 3 is a flow chart setting forth the steps of a sub-process of themethod illustrated in FIG. 2 for encoding packets;

FIG. 4 is a flow chart setting forth the steps of a sub-process of themethod illustrated in FIG. 2 for transmitting bursts;

FIG. 5 is a flow chart setting forth the steps of a method of receivingand processing data using the communications system of FIG. 1;

FIG. 6 is a flow chart setting forth the steps of a sub-process of themethod illustrated in FIG. 5 for decoding bursts; and

FIG. 7 is a flow chart setting forth the steps of a sub-process of themethod illustrated in FIG. 2 for facilitating a trigger for acommunications process using the system of FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

In accordance with one aspect of the disclosure, a system forcommunicating wirelessly from a mobile device to a remote receiverstation is provided. The system includes a controller configured tomonitor a status of the mobile device and, upon an initiation event,initiate a data transfer process to wirelessly communicate data to theremote receiver station. The system also includes a voice-band modemthat, upon initiation of the data transfer process, is configured tocommunicate with the controller to receive source data for transfer tothe remote receiver station, encode the source data to form a series ofencoded packets, and transmit the encoded packets to the remote receiverstation using a first modulation scheme. Unless an indication isprovided that the series of packets has been received by the receivingstation, the controller automatically retransmits the encoded packets tothe remote receiver station using a second modulation scheme.

In accordance with another aspect of the disclosure, a system forcommunicating wirelessly from a mobile device to a remote receiverstation is provided. The system includes an answering point deviceconfigured to receive a data transfer from the mobile device andincluding a controller. The controller is configured to receive a seriesof encoded packets from the mobile device using a first modulationscheme, perform a Fourier transform on the series of encoded packets ateach of a plurality of frequencies, and sort transformed encoded packetsinto a corresponding plurality of bins by magnitude. The controller isalso configured to identify a predetermined number of bins having alargest frequency magnitude and analyze the predetermined number of binsto determine the source data included in the series of encoded packetstherefrom.

In accordance with still another aspect of the disclosure, a method forcommunicating wirelessly from a mobile device to a remote receiverstation is provided The method includes assembling source data fortransfer to the remote receiver station and encoding the source data toform a series of encoded packets. Upon receiving a trigger signal fromthe remote receiver station, the encoded packets are transmitted to theremote receiver station using a first modulation scheme and, if thetrigger signal persists, the encoded packets are automaticallyretransmitted to the remote receiver station using a second modulationscheme.

Referring to FIG. 1, a communications system 10 includes a mobileelectronic device such as an in-vehicle system (IVS) 12 as a firstdevice, a wireless network and related networking components 14, 30, 34,and the like, desired or target user devices 32, and a Public SafetyAnswering Point (PSAP) 36 wherein the PSAP is associated with orincludes a second device referred to at times hereafter as an answeringpoint device. The IVS 12 is configured to communicate through thewireless communication network 14 and other en route networks (e.g., alandline network) to desired user devices and/or the PSAP 36. Typically,any communication with the desired user devices or PSAP 36 must passthrough the PSTN 30. The wireless network may employ any protocol, suchas Code Division Multiple Access (CDMA), Global System for Mobilecommunications (GSM), and the like and may be of any generation.

The exemplary IVS 12 includes a number of user interfaces including avisual display 16, a virtual or dedicated keyboard 18, a microphone 19,and one or more auxiliary user interfaces 20. The IVS 12 furtherincludes a controller 22 (e.g., a processor), a memory 23, a radiofrequency (RF) transceiver 24 including a voice codec (i.e., aCOder-DECoder device capable of encoding and/or decoding a digital datasignal) 26, a vehicle power system 27, a vehicle data interface 28, anantenna 25 and, in some cases, a mobile device 29 (e.g., a separatecellular phone or the like). Each of the user interface devices 16, 18,19, 20 is coupled to the controller 22. The controller 22 is also linkedto the memory 23, vehicle power system 17, RF transceiver 24, and datainterface 28. The controller 22 is designed to communicate through theradio frequency (RF) transceiver circuitry 24 and antenna 25. The codec26, in most configurations, is a voice-band codec used for encoding andtransmitting speech. The controller 22 and other components describedabove receive power from the vehicle power systems 27. The controller 22is in communication with the vehicle data interface 28, which providesaccess to a wide variety of data gathered by and/or stored by the IVS12.

It is contemplated that the memory 23 may include a Subscriber IdentityModule (SIM) or a Removable User Identity Module (R-UIM) that isconnected to or receivable within, for example, one of the auxiliaryuser interfaces 20. As an alternative to a SIM or an R-UIM, the IVS 12may operate based on configuration data programmed by a service providerinto the memory 23.

It is contemplated that the RF transceiver circuitry 24 and antenna 25may be designed for short-range RF communication, such as using aBluetooth communications protocol, and/or, as illustrated, may bedesigned for longer-range RF communications, such as cellular networksand the like. Specifically, the controller 22, RF transceiver 24, andantenna 25 may be designed to communicate directly with the wirelesscommunications network 14. Alternatively, the IVS 12 may not be capableof directly communicating with the wireless network 14 and, in thiscase, the controller 22, RF transceiver 24, and antenna 25 maycommunicate with the wireless network 14 through another device, such asmobile wireless device 29. For purposes of brevity, FIG. 1 will bedescribed with respect to the IVS 12 having the ability to communicatewith the wireless network 14 directly.

Referring still to FIG. 1, the wireless network 14 may be incommunication with a variety of entities and communication mediums. Forexample, the wireless network 14 is in communication with a PublicSwitched Telephone Network (PSTN) 30 connecting to a variety of endusers 32 and other public or private networks 34, including theInternet. As will be described, the wireless network 14 is configured toprovide access to at least one PSAP 36. As illustrated, this access maybe facilitated by the PSTN or other networks 34 or may be providedthrough direct communication between the wireless network 14 and thePSAP 36.

In operation, a user selects desired operations, such as voicecommunication, via the display 16, keyboard 18, and/or any auxiliaryuser interfaces 20. The controller 22 receives the user selections andinitiates, for example, voice communications. The wireless network 14provides a connection to a desired phone number through the PSTN 30 andcommunicates back to the IVS 12 to attempt a connection between the userof the vehicle and a user/device 38 associated with a desired phonenumber. If a connection can be established, audio of the user's voice isreceived by the microphone 19, provided to the controller 22, encoded bythe RF transceiver circuitry 24 and, in particular, the voice codec 26,and transmitted to the wireless network 14 via antenna 25. The wirelessnetwork 14 receives the encoded voice information, decodes the voiceinformation, and formats the voice information to be communicated by thePSTN 30 to the desired user/device 38.

Such voice operation is common using the above-described systems. Onecategory of such voice communications includes voice communicationsbetween drivers or passengers in the IVS 12 and public or privateservice entities, safety entities, security entities, and the like.These communications may utilize the PSTN 30 in the manner describedabove or may be made directly to a PSAP 36. Such communications may befor non-emergency purposes, such as requesting directions, or may be foremergency purposes, such as in the case of an accident. While voicecommunications to emergency personnel are as readily available to theuser as communications to others in the manner described above, datatransmission over the above-described systems can be more difficult,which is particularly problematic when communicating with personnel inan emergency situation.

In particular, a number of factors contribute to difficulties inprocessing data transmission quickly and reliably using theabove-described system. One significant factor is the fact that, asdescribed above, the RF transceiver circuitry 24 includes a voice codec26. While the voice codec 26 works very well for the communication ofhuman speech, it is not optimized for data transmission. Accordingly,protocols such as the cellular text telephone modem (CTM) protocol havebeen developed.

The CTM protocol uses a series of tones to transmit data. CTM wasoriginally developed to provide a voice-band modem protocol designed tofacilitate TeleTYpe (TTY) transmission through the voice codecs used inwireless networks. While CTM is very robust, unfortunately, CTM is alsovery slow when transmitting a significant amount of data. That is, sinceCTM was designed to facilitate the communication of a small amount oftextual data, CTM was designed to trade speed for consistency and cannottransmit a significant amount of data rapidly as would be desirable whencommunicating with personnel in an emergency situation.

In accordance with the present disclosure, a new communications methodis provided that allows the IVS 12 to use the above-describedcommunications systems to automatically communicate data to the PSAP 36or other entities rapidly and reliably.

Referring now to FIG. 2, one exemplary process 100 for automaticallycommunicating data to a PSAP begins upon an initiation event at processblock 102. For example, the initiation event may be the occurrence of anaccident, a vehicle failure, or the like. Upon the occurrence of theinitiation event at process block 102, the IVS opens a connection to thePSAP at process block 103. Typically, in the context of FIG. 1, this mayinvolve establishing a call from the IVS to the PSAP. The IVS thencollects data for transmission to a PSAP at process block 104. Thecollected data may include dynamic information, such as the vehiclelocation at or around the time of the initiation event. Additionally,the collected data may include static information, such as a vehicleidentification number (VIN), that can be pre-collected before theinitiation event. It is contemplated that the collected data may alsoinclude data about the passengers in the vehicle, such as the number ofpassengers, the positions of passengers within the vehicle, and evenmedical histories or conditions of passengers that frequently use thevehicle. Similarly, information about cargo in the vehicle and the likemay be included. With reference to FIG. 1, it is contemplated thatstatic data may be stored in the memory 23 and dynamic data may beacquired by the controller 22 from the vehicle data interface 28 toprovide an emergency data set. This emergency data set will simply bereferred to as the source data of the minimum set of data (MSD) in allfollowing discussion.

Referring again to FIG. 2, the source data is collected at process block104 and a Cyclic Redundancy Code (CRC) (or other form of checksum value)is calculated and added to the source data at process block 106. Atblock 108 the concatenated source data and CRC is split into smallerdata packets (e.g., 18 bit packets) for transmission to the PSAP.

At process block 110, the IVS waits until the PSAP responds with anappropriate trigger signal, which may be, for example, a pre-determinedbinary pseudorandom sequence. In at least some embodiments this triggersignal persists until the PSAP receiver has correctly decoded thecomplete source data. Accordingly, as will be described, the presentmethod eliminates the need for the use of an automatic-repeat-request(ARQ) scheme and, thus, does not incur the “round-trip” delaysassociated with acknowledgement times and the like.

At process block 112, a burst of data, which may be a channel codedrealization of one or more of the packets from process block 108 alongwith a CRC, is transmitted to the PSAP. This process is repeated as longas the PSAP trigger signal is present, as illustrated by decision block114.

With respect to the process of encoding the packets, it is contemplatedthat a linear fountain code may be utilized. Referring to FIG. 3 for asub-process of FIG. 2 illustrating the generation of encoded packets. Inaccordance with one configuration, the source data may be formed as 140bytes of data with a four byte CRC. Hence, the complete source data fortransmission may include 1152 bits (i.e., 8 bit times 144 bytes). Atprocess block 132, the complete source data is segmented into sourcepackets. A rateless code is applied at process block 134 to produce anumber of encoded packets (typically the number of encoded packets issignificantly larger than the number of source packets). In oneconfiguration, the complete 1152 bit data set is segmented intosixty-four 18-bit source packets. These source packets may then be usedto produce 3000 18-bit encoded packets (here the number 3000 isexemplary and may represent a limit value). Finally, each encoded packetis numbered sequentially at process block 136. These sequential numbersare not actually present in the encoded packets themselves but are notedfor future use.

Fountain codes are often used for pure erasure channels. However, aswill be described, the present method does not assume a pure erasurechannel. Suppose that K source packets, p₀, p₁, . . . , p_(k-1), areneeded to send the complete source data and that each packet is a wholenumber of bits. When K is relatively small, a random linear fountaincode can be efficiently used. A separate column vector or,alternatively, separate row vector containing K randomly generated 1'sand 0's is created for each encoded packet e_(n) that is to be sent. Forexample, 3000 such vectors would be generated to create 3000 possibleencoded packets for transmission.

If the vector for encoded packet n is represented as G_(n), then anencoded packet, e_(n), is created according to the following equation:

$\begin{matrix}{e_{n} = {\left( {\sum\limits_{k = 0}^{K - 1}\; {{G_{n}(k)} \cdot p_{k}}} \right){mod}\; 2.}} & {{Eqn}.\mspace{14mu} (1)}\end{matrix}$

Therefore, the encoded packet is the modulo 2 bitwise sum of the sourcepackets, p_(k), for which G_(n)(k) is equal to 1. The receiver (in thiscase, located in the PSAP) has knowledge of G_(n) for each n and candecode the transmission by placing a corresponding column vector G_(n)for each correctly received packet, e_(n), into a matrix D. The receiveruses the packet number for a given encoded packet to choose the correctG_(n). When the rank of matrix D becomes equal to the number of packetstransmitted K, it is possible to take the inverse of D and recover thesource packets p₀, p₁, . . . p_(k-1).

At times, during transmission some encoded packets will be lost.However, the PSAP receiver can reconstruct the source packets despitelost encoded packets and does not need to communicate back to the IVS toindicate the specific packets that were lost. Even when there are nolost packets, it will usually still be necessary to send a few extraencoded packets in order to recover the original source packets. This isbecause each G_(n) is randomly generated and matrix D being invertibleafter only K encoded packets are received is a random event withprobability 0.289.

Accordingly, in at least some configurations, it is contemplated that amodification of the random linear fountain code may be utilized.Specifically, G₀, G₁, . . . , G_(k-1) may be chosen deterministically sothat D is guaranteed to be invertible in the case in which there are nolost packets after only K received packets. The G₀, G₁, . . . can bechosen in a variety of ways. For example, one possibility is to choose[G₀, G₁, . . . , G_(k-1)], where G_(n) are column vectors, as theidentity matrix. In this case, when using a clean channel and notincurring any lost packets, an encoded packet e_(n) corresponding toeach source packet p_(k) will be transmitted as the first K encodedpackets and only the same amount of data as in the original K sourcepackets is needed to identify the complete source data.

This method is particularly useful in the system described with respectto FIG. 1, where, due to the slow data rates required for transmissionthrough voice codecs, the time required to send an encoded packet is notinsignificant. Frequently, channel conditions will be such that all Kpackets are received correctly because of the error correction whichalready exists on the radio channel. Therefore, the above describedmethod can reduce data transmission time significantly over the standardrandom linear fountain code in good channel conditions.

Once the packets are encoded at process block 108 and the PSAP triggersignal has been detected at process block 110, an adaptive bursttransmission protocol is used. The IVS continues transmitting encodedpackets in bursts, iterating over successive burst formats, until thePSAP trigger signal is no longer present, indicating the PSAP hassuccessfully received the complete source data. As long as the triggersignal persists, the PSAP has incomplete source data and transmissioncontinues.

A burst format specifies how one or more encoded packets are combinedinto a single burst and then channel coded for transmission through thevoice codec 26 of FIG. 1 and the networks en route to the PSAP. In thiscontext, a channel coding scheme may include application of one or moreerror detecting code, error correcting code, and/or modulation scheme asnecessary.

Referring to FIG. 4 for a sub-process of FIG. 2 illustrating onepossible burst encoding and transmission process. After block 108 inFIG. 2, control passes to block 213 in FIG. 4 where one or more encodedpackets e₁ _(n) , e_(i) _(n) ₊₁, . . . , e_(i) _(n) _(+(I) _(n) ⁻¹⁾ areconcatenated to form an encoded packet set to be associated with asingle burst b_(n), where i_(n) is the index of the first encoded packetin burst n, and I_(n) is the number of encoded packets present in burstn. Additionally, a burst number is chosen for b_(n) at process block214. This is simply a unique number that identifies which encodedpackets are present within the burst. For example, it may be set to thepacket number of the first encoded packet i_(n) present in the burst.

At process block 216, a CRC c_(n) is generated for burst n bycalculating the CRC of the encoded packets combined with the burstnumber. This CRC is then combined with the encoded packet set to form aburst. However, the burst number is not explicitly transmitted as partof the burst.

Although the receiver in the PSAP has knowledge of all possible vectorsG_(n), it still needs to match each received encoded packet e_(n) withthe appropriate vector G_(n) so that the matrix D can be constructedcorrectly. Traditionally, this has been accomplished by transmitting apacket number with each packet or in some type of common packet headerif multiple packets are transmitted together. As will be discussed inmore detail later, using this approach, it is not necessary toexplicitly transmit packet numbers. The packet numbers can beregenerated from the burst number, which can be recovered during CRCverification at the receiver since it was included in the CRCcalculation.

At process block 217, a channel coding scheme is applied to the combinedburst and CRC to produce the channel coded burst {circumflex over(b)}_(n)=s_(n)([b_(n)c_(n)]), where s_(n), is the channel coding schemefor burst n.

Adaptation is achieved by choosing appropriate i_(n), I_(n), and s_(n)for all transmitted bursts. Typically, multiple bursts will have thesame I_(n) and s_(n), but for some n, either I_(n)≠I_(n+1) ors_(n)≠s_(n+1) (or possibly both). These points will be denoted asadaptation points, and mark locations in the stream of transmittedbursts where either the number of encoded packets per burst or the burstchannel coding scheme changes (or possibly both change). Typically, boththe burst lengths, I_(n), and the rates of the channel coding schemes,s_(n) are non-increasing. This implies that as adaptation occurs,transmission rate decreases as overhead and redundancy increase.

In good channel conditions, suppose the probability of erasure forbursts coded with scheme s_(n) is low (where erasure is caused by a CRCfailure). As channel conditions degrade, bursts coded with scheme s_(n)will be erased with increasing frequency until finally virtually allbursts are erased. At this point, only bursts coded with schemes s_(m)and beyond (where s_(m)≠s_(n)) will be received successfully. Withproperly chosen i_(n), I_(n), and s_(n), message delivery times willincrease gracefully as channel conditions degrade, yet fast delivery canbe maintained in ideal conditions.

There are a number of advantages to this approach. Since i_(n), I_(n),and s_(n) are known by both the transmitter and receiver a priori, noautomatic-repeat-request (ARQ) mechanism is required for adaptation.Thus, one key desirable aspect of rateless codes is retained. Sincemultiple burst sizes and channel coding schemes are used, operation ofthe rateless code can be extended over a very wide range of channelconditions. Furthermore, this approach is well suited for small messagelengths in systems where the cost of using a back channel is relativelyhigh.

In one of many possible configurations that has been analyzed, 3 burstformats are used. These three formats make use of 3 different burstsizes and two different channel coding schemes: both a high-ratemodulation scheme and a low-rate modulation scheme.

An initial first burst format uses a high rate modulation scheme with 12bits per symbol. Four 18-bit encoded packets and a 24-bit CRC arecombined to create a burst of 96 bits or 8 symbols (i.e., 96 bits/12 bitper symbol). Using the previous exemplary complete source data of 1152bits and assuming no losses, within 16 bursts the complete source datacan be received. Experiments have shown when communicating throughchannels with typical high rate voice codecs, without any losses, all1152 bits can be transmitted in well under 4 seconds using this burstformat.

A second burst format uses a low rate modulation scheme with 6 bits persymbol. Two 18-bit encoded packets and a 12-bit CRC are combined tocreate a burst of 48 bits or 8 (48/6) symbols. This burst format extendsoperation into channels with the lowest rate voice codecs and moderatechannel error rates.

A third burst format also uses a low rate modulation scheme with 6 bitsper symbol. One 18-bit encoded packet and a 12-bit CRC are combined tocreate a burst of 30 bits or 5 (30/6) symbols. This burst format extendsoperation into channels with very high channel error rates.

Experiments have shown that with an appropriate choice of adaptationpoints for these three burst formats, even in channels with asignificant number of errors, the complete source data is decodedsuccessfully in typically no more than 25 seconds of transmission.Therefore, under even very poor conditions, the above described methodcan still transmit data in less time than the approximately 29 secondsthat a CTM-based design would require to transmit the same data in anerror-free channel.

With respect to a specific implementation of the adaptable modulationscheme, for a given rate, each symbol is formed as a sum of k sinusoidsout of a possible set of n sinusoids, thereby transmitting

$\left\lfloor {\log_{2}\begin{pmatrix}n \\k\end{pmatrix}} \right\rfloor$

bits of information. The tones corresponding to the n sinusoids arechosen to be orthogonal to each other. The receiver takes the DiscreteTime Fourier Transform (DTFT) at each of the n frequencies and thensorts the resulting n bins by magnitude to identify the k frequenciesthat have the largest magnitudes. Because the sinusoids are orthogonal,each sinusoid produces energy in only one bin of the DTFT. Therefore,the probability that a particular set of k sinusoids were transmittedgiven the received symbol will be maximized by choosing the k largestpeaks of the DTFT.

Multi-rate operation can be achieved with this modulation scheme bychoosing n and k as adaptation controls. Advantageously, the receiverstructure is fixed. The receiver will always evaluate the DTFT at afixed number of frequencies, sort the results in terms of magnitude, andchoose the k frequencies that give the highest magnitude as thefrequencies of the tones that are most likely to have been transmitted.

A codebook can be created with

$\quad\begin{pmatrix}n \\k\end{pmatrix}$

entries of binary words of length n that have k ones. For example, ifn=16 and k=5, then there are

$\begin{pmatrix}16 \\5\end{pmatrix} = {4,396}$

possible ways of choosing 5 tones out of a set of 16. Each possiblesymbol has a one to one correspondence with a 16 bit binary word havingexactly five ones. If this set of 4,396 words is limited to a subset of4,096, for example, by taking the smallest 4096 binary words, then eachof these binary words or symbols represents 12 bits of information. Whenthe n DTFT bins are sorted and the k highest are selected, a search maybe done in the codebook for the binary word that is closest to the wordhaving 1's in the positions that correspond to the particular k tonesdecoded. This codebook search can be done through an efficient binarysearch, for example. The index of the entry in the codebookcorresponding to the binary word that is closest then gives the

$\left\lfloor {\log_{2}\begin{pmatrix}n \\k\end{pmatrix}} \right\rfloor$

decoded bits at the output of the demodulator.

Experiments indicate that the above adaptive modulation scheme iseffective at modulating binary data through typical voice codecs at highrates while still yielding sufficiently low bit error rates for usefulapplication with rateless codes as previously described.

Referring to FIG. 5 for an overview of the operation of the PSAPreceiver. The receive process is initiated at process blocks 251 and 252where the PSAP monitors for a communication or initiation signalindicating an initiation event from an IVS. Typically, the initiationevent will be an incoming call from the IVS, but may include othertriggering mechanisms, such as a manual request by an operator in anestablished call. At process block 254, after a communication has beeninitiated by an IVS, the PSAP begins transmission of a trigger signal tothe IVS. As previously discussed, once the IVS successfully detects thePSAP trigger signal, the IVS begins transmitting bursts of one or moreencoded packets. The PSAP receives the IVS bursts, extracts the packets,and attempts to decode the complete source data at process block 256. Atblock 258, if the source data is decoded successfully and the sourcedata CRC is correct, the process terminates and no further triggersignals are transmitted by the PSAP. If the source data cannot bedecoded or the CRC is incorrect, either an insufficient number ofpackets have been received or some packets have been received in error.In either case the trigger persists (see block 254) since more burstsare still required to decode the source data.

FIG. 6 illustrates a sub-process of the PSAP receiver in FIG. 5. Atprocess block 142, the receiver attempts to guess, or blind detect, theburst number for the next incoming burst. One very simple algorithminvolves iterating through successive possible burst numbers until thecorrect one is reached and the burst decodes successfully at processblock 144, indicated by a correct CRC at process block 146. To this end,when a burst is received, the PSAP receiver distinguishes the encodedpacket set from the associated received CRC included in the burst. Nextthe receiver combines a possible burst number with the encoded packetset to form a possible numbered packet set and calculates a calculatedchecksum or CRC for the possible numbered packet set. The receivercompares the calculated CRC and the received CRC. Where the calculatedCRC is different than the received CRC, the receiver repeats the processabove using a different possible burst number until the calculated andreceived CRCs match. Once the calculated CRC is identical to thereceived CRC, the receiver recognizing the possible burst number as theactual burst number.

When a correct CRC is found, the encoded packets are extracted from theburst at process block 148. The number of packets extracted isdetermined by the parameter I_(n) (described earlier) for the burstnumber in question. The burst number is used to determine which packetnumbers to assign to the received encoded packets, and therefore, whichG_(n) to use to update the decoding matrix D. At process block 150, adecoding attempt is made. If the decoding matrix can be inverted, thesource data is recovered and can be verified against the source dataCRC.

Referring back to FIG. 5, the PSAP trigger may be transmitted usingmultiple coding schemes. For example, the trigger may be formed frombinary pseudo-random sequences encoded using one or more of the possiblechannel coding schemes that the IVS utilizes for transmission. This way,the PSAP can generate information that the IVS can use to assess channelconditions while sending the trigger signal. For instance, assuming anIVS uses two channel coding schemes: a high rate modulation scheme and alow rate modulation scheme (adapted to the channel conditions and/orspeech codec mode), a binary pseudo-random sequence can be transmittedwith each modulation scheme in an alternating fashion. For good channelconditions, it is likely that both the high and low rate sequences willbe received equally well by the IVS as a received trigger signal.However, if, for example, the received trigger signal includes asequence that is received seven times at the low modulation rate butonly once at the high modulation rate, the IVS can be programmed torecognize that data throughput at the high rate is likely to berelatively low, assuming that uplink and downlink channel conditions aresimilar. In this case, the IVS may be programmed to transmit data to thePSAP using only the low modulation rate, as opposed to adapting throughthe usual pattern (e.g., starting with the high rate scheme followed bythe low rate scheme only if the high rate scheme is unsuccessful). Thus,here, the initial modulation scheme is selected as a function of thetrigger signals received from the PSAP.

In some embodiments it is contemplated that more than two channel codingschemes may be applied. In that case the trigger signal may be sequencedthrough each coding scheme and the IVS may be programmed to optimizetransmission using any subset or all of the coding schemes.

Thus, the PSAP trigger in at least some configurations accomplishes twothings. First, the trigger signal notifies the IVS when to start sendingdata. Here, the trigger is robust because of the choice of binary pseudorandom sequence. Second, the trigger provides information that can beused by the IVS to determine which channel coding scheme is likely to bethe most effective in terms of throughput when the IVS starts sendingdata to the PSAP.

Referring now to FIG. 7, a sub-process that may be substituted for aportion of the process shown in FIG. 2 is illustrated, whereby an IVSuses the PSAP triggers to identify the best channel coding scheme to useto transmit information to the PSAP. Referring also to FIG. 2, afterpackets have been encoded at process block 108, the IVS receives atrigger sequence from the PSAP at process block 232 in FIG. 7. In atleast some embodiments the IVS may require that a certain minimum numberof trigger signals or sequences are received before choosing the optimalcoding scheme. This check is made at process block 234. If more triggersignals are required, the process repeats. Otherwise, at process block236, the received trigger signals are used to determine which of thevarious coding schemes is optimal for transmission to the PSAP. Thiscoding scheme is set in the IVS at process block 238 so that whenprocess block 112 of FIG. 2 executes, bursts are transmitted using theappropriate coding scheme right from the start.

Choosing an optimal initial channel coding scheme does not eliminate thepossibility of later adaptation. For example, if the IVS startstransmission at the highest possible rate based upon the PSAP trigger,it is still possible that the IVS will adapt through the available burstformats if the channel conditions differ from what was expected basedupon the trigger.

In other embodiments it is contemplated that other sub-processes similarto the sub-process of FIG. 7 may be employed for identifying an optimalinitial channel coding scheme. For instance, in some embodiments wherean IVS uses two channel coding schemes including a high rate modulationscheme and a low rate modulation scheme, the PSAP may transmit a seriesof eight high rate trigger signals without interleaving the low ratesignals and follow up the eight initial signals with a continual set oflow rate signals. Here, based on the throughput of the eight high ratesignals, the IVS may determine if the high or low rate should be used totransmit subsequent packets. Thus, for instance, where between six andeight high rate signals were received, the high rate modulation schememay be used and where less than six high rate signals were received thelow rate scheme may be employed. Other patterns of trigger signals arecontemplated as well as other threshold levels for using the high rateas opposed to the low rate schemes.

The present disclosure has been described in terms of the variousaspects and features, and it should be appreciated that manyequivalents, alternatives, variations, and modifications, aside fromthose expressly stated, are possible and within the scope of thedisclosure. Therefore, the disclosure should not be limited to aparticular described embodiment.

1-20. (canceled)
 21. An answering point device for communicating with amobile device, the answering point device configured to: receive aseries of symbols from the mobile device, each symbol being a sum of korthogonal sinusoids out of a set of n orthogonal sinusoids, where k andn are integers with k<n; demodulate each received symbol by performing aFourier transform on each symbol to determine the frequencies of the ksinusoids present; form received bursts from the demodulated symbols, aburst comprising one or more fountain encoded packets and a cyclicredundancy check code; and reconstruct source data based on fountainencoded packets for which no errors have been detected by the cyclicredundancy check code.
 22. The answering point device of claim 21further configured to form a binary word of length n with k ones in bitpositions corresponding to the k frequencies of the sinusoids presentand zeros in all other bit positions.
 23. The answering point device ofclaim 22 further configured to compare said formed binary word with astored set of binary words from a table having entries of binary wordsof length n that have k ones and identify an index of an entry thatmatches said formed binary word.
 24. The answering point device of claim23 further configured to decode d bits, wherein the d bits correspondsto said index of said entry that matches said formed binary word, and dis the largest integer less than or equal to ${\log_{2}\begin{pmatrix}n \\k\end{pmatrix}}.$
 25. The answering point device of claim 21 wherein theseries of symbols is received via a voice channel.
 26. The answeringpoint device of claim 21 further configured to transmit a trigger signalto the mobile device to notify the mobile to start sending data data.27. The answering point device of claim 26 further configured totransmit the trigger signal until all source data has been received. 28.The answering point device of claim 27 further configured to ceasetransmission of the trigger signal when all data has been received. 29.A method in an answering point device for communicating with a mobiledevice, the method comprising: receiving a series of symbols from themobile device, each symbol being a sum of k orthogonal sinusoids out ofa set of n orthogonal sinusoids, where k and n are integers with k<n;demodulating each received symbol by performing a Fourier transform oneach symbol to determine the frequencies of the k sinusoids present;forming received bursts from the demodulated data, a burst comprisingone or more fountain encoded packets and a cyclic redundancy check code;and reconstructing source data based on fountain encoded packets forwhich no errors have been detected by the cyclic redundancy check code.30. The method of claim 29 further comprising forming a binary word oflength n with k ones in bit positions corresponding to the k frequenciesof the sinusoids present and zeros in all other bit positions.
 31. Themethod of claim 30 further comprising comparing said formed binary wordagainst a stored set of binary words from a table having entries ofbinary words of length n that have k ones and identifying an index of anentry that matches said formed binary word.
 32. The method of claim 31further comprising decoding d bits, wherein the d bits correspond tosaid index of said entry that matches said formed binary word and d isthe largest integer less than or equal to ${\log_{2}\begin{pmatrix}n \\k\end{pmatrix}}.$
 33. The method of claim 29 further comprising receivingthe series of symbols via a voice channel.
 34. The method of claim 29further comprising transmitting a trigger signal to the mobile device tonotify the mobile to start sending data.
 35. The method of claim 34further comprising transmitting the trigger signal to the mobile deviceuntil all data has been received.
 36. The method of claim 35 furthercomprising ceasing transmission of the trigger signal when all data hasbeen received.
 37. A mobile device for communicating wirelessly to aremote receiver station, wherein the mobile device is configured to:assemble source packets for transfer to the remote receiver station;encode the source packets with a fountain code to form a series ofencoded packets; upon receiving a trigger signal from the remotereceiver station, transmit encoded packets to the remote receiverstation using a first modulation scheme; and if the trigger signalpersists after transmitting a predetermined number of encoded packets,transmitting encoded packets to the remote receiver station using asecond modulation scheme.
 38. The mobile device of claim 37 wherein thefirst modulation scheme includes a high-rate modulation scheme and thesecond modulation scheme includes a low-rate modulation scheme.
 39. Amethod in a mobile device for communicating wirelessly with a remotereceiver station, the method comprising: assembling source packets fortransfer to the remote receiver station; encoding the source packetswith a fountain code to form a series of encoded packets; upon receivinga trigger signal from the remote receiver station, transmitting theencoded packets to the remote receiver station using a first modulationscheme; and if the trigger signal persists after transmitting apredetermined number of encoded packets, transmitting encoded packets tothe remote receiver station using a second modulation scheme.
 40. Themethod of claim 39 wherein the first modulation scheme includes ahigh-rate modulation scheme and the second modulation scheme includes alow-rate modulation scheme.